//#include <iostream>
//#include <queue>
//#include <vector>
//using namespace std;
//
//int main() {
//    int n, k;
//    cin >> n >> k;
//    int tmp;
//    priority_queue<int, vector<int>, greater<int>> pq;
//    for (int i = 0; i < n; i++)
//    {
//        cin >> tmp;
//        pq.push(tmp);
//    }
//    int times = 0, sum = 0;
//    while (sum <= k)
//    {
//        sum += pq.top();
//        if (sum > k) break;
//        tmp = pq.top();
//        pq.pop();
//        pq.push(tmp * 2);
//        times++;
//    }
//    cout << times << endl;
//    return 0;
//}
//
